var runtime.sched

410 uses

	runtime (current package)
		cgocall.go#L311: 	hz := sched.profilehz
		debug.go#L21: 	lock(&sched.lock)
		debug.go#L23: 	unlock(&sched.lock)
		debugcall.go#L230: 		lock(&sched.lock)
		debugcall.go#L232: 		unlock(&sched.lock)
		metrics.go#L455: 				hist.counts[0] = sched.timeToRun.underflow.Load()
		metrics.go#L456: 				for i := range sched.timeToRun.counts {
		metrics.go#L457: 					hist.counts[i+1] = sched.timeToRun.counts[i].Load()
		metrics.go#L459: 				hist.counts[len(hist.counts)-1] = sched.timeToRun.overflow.Load()
		metrics.go#L465: 				out.scalar = float64bits(nsToSec(sched.totalMutexWaitTime.Load()))
		mgc.go#L1048: 	sched.idleTime.Store(0)
		mgc.go#L1376: 						lock(&sched.lock)
		mgc.go#L1378: 						unlock(&sched.lock)
		mgc.go#L1659: 	lock(&sched.sudoglock)
		mgc.go#L1661: 	for sg = sched.sudogcache; sg != nil; sg = sgnext {
		mgc.go#L1665: 	sched.sudogcache = nil
		mgc.go#L1666: 	unlock(&sched.sudoglock)
		mgc.go#L1670: 	lock(&sched.deferlock)
		mgc.go#L1674: 	for d = sched.deferpool; d != nil; d = dlink {
		mgc.go#L1678: 	sched.deferpool = nil
		mgc.go#L1679: 	unlock(&sched.deferlock)
		mgclimit.go#L215: 				sched.idleTime.Add(duration)
		mgclimit.go#L476: 		sched.idleTime.Add(duration)
		mgcmark.go#L295: 	lock(&sched.gFree.lock)
		mgcmark.go#L296: 	list := sched.gFree.stack
		mgcmark.go#L297: 	sched.gFree.stack = gList{}
		mgcmark.go#L298: 	unlock(&sched.gFree.lock)
		mgcmark.go#L315: 	lock(&sched.gFree.lock)
		mgcmark.go#L316: 	sched.gFree.noStack.pushAll(q)
		mgcmark.go#L317: 	unlock(&sched.gFree.lock)
		mgcmark.go#L1064: 		for !(gp.preempt && (preemptible || sched.gcwaiting.Load())) {
		mgcmark.go#L1078: 	for !(gp.preempt && (preemptible || sched.gcwaiting.Load())) {
		mstats.go#L957: 	s.totalTime = sched.totaltime + (now-sched.procresizetime)*int64(gomaxprocs)
		mstats.go#L958: 	s.idleTime += sched.idleTime.Load()
		panic.go#L354: 	if len(pp.deferpool) == 0 && sched.deferpool != nil {
		panic.go#L355: 		lock(&sched.deferlock)
		panic.go#L356: 		for len(pp.deferpool) < cap(pp.deferpool)/2 && sched.deferpool != nil {
		panic.go#L357: 			d := sched.deferpool
		panic.go#L358: 			sched.deferpool = d.link
		panic.go#L362: 		unlock(&sched.deferlock)
		panic.go#L420: 		lock(&sched.deferlock)
		panic.go#L421: 		last.link = sched.deferpool
		panic.go#L422: 		sched.deferpool = first
		panic.go#L423: 		unlock(&sched.deferlock)
		proc.go#L358: 	if !gp.preempt && sched.npidle.Load() > 0 {
		proc.go#L426: 		lock(&sched.sudoglock)
		proc.go#L428: 		for len(pp.sudogcache) < cap(pp.sudogcache)/2 && sched.sudogcache != nil {
		proc.go#L429: 			s := sched.sudogcache
		proc.go#L430: 			sched.sudogcache = s.next
		proc.go#L434: 		unlock(&sched.sudoglock)
		proc.go#L492: 		lock(&sched.sudoglock)
		proc.go#L493: 		last.next = sched.sudogcache
		proc.go#L494: 		sched.sudogcache = first
		proc.go#L495: 		unlock(&sched.sudoglock)
		proc.go#L695: 	lockInit(&sched.lock, lockRankSched)
		proc.go#L696: 	lockInit(&sched.sysmonlock, lockRankSysmon)
		proc.go#L697: 	lockInit(&sched.deferlock, lockRankDefer)
		proc.go#L698: 	lockInit(&sched.sudoglock, lockRankSudog)
		proc.go#L719: 	sched.maxmcount = 10000
		proc.go#L755: 	lock(&sched.lock)
		proc.go#L756: 	sched.lastpoll.Store(nanotime())
		proc.go#L764: 	unlock(&sched.lock)
		proc.go#L789: 	assertLockHeld(&sched.lock)
		proc.go#L800: 	if count > sched.maxmcount {
		proc.go#L801: 		print("runtime: program exceeds ", sched.maxmcount, "-thread limit\n")
		proc.go#L811: 	assertLockHeld(&sched.lock)
		proc.go#L813: 	if sched.mnext+1 < sched.mnext {
		proc.go#L816: 	id := sched.mnext
		proc.go#L817: 	sched.mnext++
		proc.go#L831: 	lock(&sched.lock)
		proc.go#L864: 	unlock(&sched.lock)
		proc.go#L874: 	sched.nmspinning.Add(1)
		proc.go#L875: 	sched.needspinning.Store(0)
		proc.go#L958: 		sched.stopwait = freezeStopWait
		proc.go#L959: 		sched.gcwaiting.Store(true)
		proc.go#L1111: 		sched.totalMutexWaitTime.Add((now - gp.trackingStamp) * gTrackingPeriod)
		proc.go#L1133: 		sched.timeToRun.record(gp.runnableTime)
		proc.go#L1363: 	lock(&sched.lock)
		proc.go#L1364: 	sched.stopwait = gomaxprocs
		proc.go#L1365: 	sched.gcwaiting.Store(true)
		proc.go#L1369: 	sched.stopwait--
		proc.go#L1379: 			sched.stopwait--
		proc.go#L1390: 		sched.stopwait--
		proc.go#L1392: 	wait := sched.stopwait > 0
		proc.go#L1393: 	unlock(&sched.lock)
		proc.go#L1399: 			if notetsleep(&sched.stopnote, 100*1000) {
		proc.go#L1400: 				noteclear(&sched.stopnote)
		proc.go#L1409: 	if sched.stopwait != 0 {
		proc.go#L1441: 	lock(&sched.lock)
		proc.go#L1449: 	sched.gcwaiting.Store(false)
		proc.go#L1450: 	if sched.sysmonwait.Load() {
		proc.go#L1451: 		sched.sysmonwait.Store(false)
		proc.go#L1452: 		notewakeup(&sched.sysmonnote)
		proc.go#L1454: 	unlock(&sched.lock)
		proc.go#L1662: 		lock(&sched.lock)
		proc.go#L1663: 		sched.nmfreed++
		proc.go#L1665: 		unlock(&sched.lock)
		proc.go#L1684: 	lock(&sched.lock)
		proc.go#L1703: 	mp.freelink = sched.freem
		proc.go#L1704: 	sched.freem = mp
		proc.go#L1705: 	unlock(&sched.lock)
		proc.go#L1716: 	lock(&sched.lock)
		proc.go#L1717: 	sched.nmfreed++
		proc.go#L1719: 	unlock(&sched.lock)
		proc.go#L1764: 	lock(&sched.lock)
		proc.go#L1765: 	if sched.safePointWait != 0 {
		proc.go#L1768: 	sched.safePointWait = gomaxprocs - 1
		proc.go#L1769: 	sched.safePointFn = fn
		proc.go#L1785: 	for p := sched.pidle.ptr(); p != nil; p = p.link.ptr() {
		proc.go#L1788: 			sched.safePointWait--
		proc.go#L1792: 	wait := sched.safePointWait > 0
		proc.go#L1793: 	unlock(&sched.lock)
		proc.go#L1819: 			if notetsleep(&sched.safePointNote, 100*1000) {
		proc.go#L1820: 				noteclear(&sched.safePointNote)
		proc.go#L1826: 	if sched.safePointWait != 0 {
		proc.go#L1835: 	lock(&sched.lock)
		proc.go#L1836: 	sched.safePointFn = nil
		proc.go#L1837: 	unlock(&sched.lock)
		proc.go#L1860: 	sched.safePointFn(p)
		proc.go#L1861: 	lock(&sched.lock)
		proc.go#L1862: 	sched.safePointWait--
		proc.go#L1863: 	if sched.safePointWait == 0 {
		proc.go#L1864: 		notewakeup(&sched.safePointNote)
		proc.go#L1866: 	unlock(&sched.lock)
		proc.go#L1904: 	if sched.freem != nil {
		proc.go#L1905: 		lock(&sched.lock)
		proc.go#L1907: 		for freem := sched.freem; freem != nil; {
		proc.go#L1929: 		sched.freem = newList
		proc.go#L1930: 		unlock(&sched.lock)
		proc.go#L2076: 	sched.ngsys.Add(-1)
		proc.go#L2135: 	gp.goid = sched.goidgen.Add(1)
		proc.go#L2149: 	sched.ngsys.Add(1)
		proc.go#L2192: 	sched.ngsys.Add(1)
		proc.go#L2492: 	lock(&sched.lock)
		proc.go#L2493: 	sched.nmsys++
		proc.go#L2495: 	unlock(&sched.lock)
		proc.go#L2533: 	lock(&sched.lock)
		proc.go#L2535: 	unlock(&sched.lock)
		proc.go#L2582: 		lock(&sched.lock)
		proc.go#L2594: 				unlock(&sched.lock)
		proc.go#L2617: 		unlock(&sched.lock)
		proc.go#L2627: 			lock(&sched.lock)
		proc.go#L2635: 		unlock(&sched.lock)
		proc.go#L2664: 	if !runqempty(pp) || sched.runqsize != 0 {
		proc.go#L2680: 	if sched.nmspinning.Load()+sched.npidle.Load() == 0 && sched.nmspinning.CompareAndSwap(0, 1) { // TODO: fast atomic
		proc.go#L2681: 		sched.needspinning.Store(0)
		proc.go#L2685: 	lock(&sched.lock)
		proc.go#L2686: 	if sched.gcwaiting.Load() {
		proc.go#L2688: 		sched.stopwait--
		proc.go#L2689: 		if sched.stopwait == 0 {
		proc.go#L2690: 			notewakeup(&sched.stopnote)
		proc.go#L2692: 		unlock(&sched.lock)
		proc.go#L2696: 		sched.safePointFn(pp)
		proc.go#L2697: 		sched.safePointWait--
		proc.go#L2698: 		if sched.safePointWait == 0 {
		proc.go#L2699: 			notewakeup(&sched.safePointNote)
		proc.go#L2702: 	if sched.runqsize != 0 {
		proc.go#L2703: 		unlock(&sched.lock)
		proc.go#L2709: 	if sched.npidle.Load() == gomaxprocs-1 && sched.lastpoll.Load() != 0 {
		proc.go#L2710: 		unlock(&sched.lock)
		proc.go#L2719: 	unlock(&sched.lock)
		proc.go#L2732: 	if sched.nmspinning.Load() != 0 || !sched.nmspinning.CompareAndSwap(0, 1) {
		proc.go#L2744: 	lock(&sched.lock)
		proc.go#L2747: 		if sched.nmspinning.Add(-1) < 0 {
		proc.go#L2750: 		unlock(&sched.lock)
		proc.go#L2758: 	unlock(&sched.lock)
		proc.go#L2816: 	if !sched.gcwaiting.Load() {
		proc.go#L2823: 		if sched.nmspinning.Add(-1) < 0 {
		proc.go#L2828: 	lock(&sched.lock)
		proc.go#L2830: 	sched.stopwait--
		proc.go#L2831: 	if sched.stopwait == 0 {
		proc.go#L2832: 		notewakeup(&sched.stopnote)
		proc.go#L2834: 	unlock(&sched.lock)
		proc.go#L2870: 	hz := sched.profilehz
		proc.go#L2900: 	if sched.gcwaiting.Load() {
		proc.go#L2936: 	if pp.schedtick%61 == 0 && sched.runqsize > 0 {
		proc.go#L2937: 		lock(&sched.lock)
		proc.go#L2939: 		unlock(&sched.lock)
		proc.go#L2961: 	if sched.runqsize != 0 {
		proc.go#L2962: 		lock(&sched.lock)
		proc.go#L2964: 		unlock(&sched.lock)
		proc.go#L2977: 	if netpollinited() && netpollWaiters.Load() > 0 && sched.lastpoll.Load() != 0 {
		proc.go#L2994: 	if mp.spinning || 2*sched.nmspinning.Load() < gomaxprocs-sched.npidle.Load() {
		proc.go#L3062: 	lock(&sched.lock)
		proc.go#L3063: 	if sched.gcwaiting.Load() || pp.runSafePointFn != 0 {
		proc.go#L3064: 		unlock(&sched.lock)
		proc.go#L3067: 	if sched.runqsize != 0 {
		proc.go#L3069: 		unlock(&sched.lock)
		proc.go#L3072: 	if !mp.spinning && sched.needspinning.Load() == 1 {
		proc.go#L3075: 		unlock(&sched.lock)
		proc.go#L3082: 	unlock(&sched.lock)
		proc.go#L3123: 		if sched.nmspinning.Add(-1) < 0 {
		proc.go#L3169: 	if netpollinited() && (netpollWaiters.Load() > 0 || pollUntil != 0) && sched.lastpoll.Swap(0) != 0 {
		proc.go#L3170: 		sched.pollUntil.Store(pollUntil)
		proc.go#L3194: 		sched.pollUntil.Store(0)
		proc.go#L3195: 		sched.lastpoll.Store(now)
		proc.go#L3202: 		lock(&sched.lock)
		proc.go#L3204: 		unlock(&sched.lock)
		proc.go#L3224: 		pollerPollUntil := sched.pollUntil.Load()
		proc.go#L3238: 	if sched.runqsize != 0 {
		proc.go#L3245: 	if netpollinited() && netpollWaiters.Load() > 0 && sched.lastpoll.Load() != 0 {
		proc.go#L3270: 			if sched.gcwaiting.Load() {
		proc.go#L3337: 			lock(&sched.lock)
		proc.go#L3341: 				unlock(&sched.lock)
		proc.go#L3344: 			unlock(&sched.lock)
		proc.go#L3404: 	lock(&sched.lock)
		proc.go#L3407: 		unlock(&sched.lock)
		proc.go#L3414: 		unlock(&sched.lock)
		proc.go#L3421: 		unlock(&sched.lock)
		proc.go#L3426: 	unlock(&sched.lock)
		proc.go#L3435: 	if sched.lastpoll.Load() == 0 {
		proc.go#L3440: 		pollerPollUntil := sched.pollUntil.Load()
		proc.go#L3459: 	nmspinning := sched.nmspinning.Add(-1)
		proc.go#L3507: 			lock(&sched.lock)
		proc.go#L3511: 				unlock(&sched.lock)
		proc.go#L3517: 			unlock(&sched.lock)
		proc.go#L3524: 		lock(&sched.lock)
		proc.go#L3526: 		unlock(&sched.lock)
		proc.go#L3531: 	npidle := int(sched.npidle.Load())
		proc.go#L3539: 		lock(&sched.lock)
		proc.go#L3541: 		unlock(&sched.lock)
		proc.go#L3603: 	if sched.disable.user && !schedEnabled(gp) {
		proc.go#L3607: 		lock(&sched.lock)
		proc.go#L3611: 			unlock(&sched.lock)
		proc.go#L3613: 			sched.disable.runnable.pushBack(gp)
		proc.go#L3614: 			sched.disable.n++
		proc.go#L3615: 			unlock(&sched.lock)
		proc.go#L3756: 	lock(&sched.lock)
		proc.go#L3758: 	unlock(&sched.lock)
		proc.go#L3868: 		sched.ngsys.Add(-1)
		proc.go#L4032: 	if sched.sysmonwait.Load() {
		proc.go#L4049: 	if sched.gcwaiting.Load() {
		proc.go#L4068: 	lock(&sched.lock)
		proc.go#L4069: 	if sched.sysmonwait.Load() {
		proc.go#L4070: 		sched.sysmonwait.Store(false)
		proc.go#L4071: 		notewakeup(&sched.sysmonnote)
		proc.go#L4073: 	unlock(&sched.lock)
		proc.go#L4080: 	lock(&sched.lock)
		proc.go#L4081: 	if sched.stopwait > 0 && atomic.Cas(&pp.status, _Psyscall, _Pgcstop) {
		proc.go#L4087: 		if sched.stopwait--; sched.stopwait == 0 {
		proc.go#L4088: 			notewakeup(&sched.stopnote)
		proc.go#L4091: 	unlock(&sched.lock)
		proc.go#L4202: 		if sched.disable.user && !schedEnabled(gp) {
		proc.go#L4244: 	if sched.stopwait == freezeStopWait {
		proc.go#L4257: 	if sched.pidle != 0 {
		proc.go#L4303: 	lock(&sched.lock)
		proc.go#L4305: 	if pp != nil && sched.sysmonwait.Load() {
		proc.go#L4306: 		sched.sysmonwait.Store(false)
		proc.go#L4307: 		notewakeup(&sched.sysmonnote)
		proc.go#L4309: 	unlock(&sched.lock)
		proc.go#L4326: 	lock(&sched.lock)
		proc.go#L4341: 	} else if sched.sysmonwait.Load() {
		proc.go#L4342: 		sched.sysmonwait.Store(false)
		proc.go#L4343: 		notewakeup(&sched.sysmonnote)
		proc.go#L4345: 	unlock(&sched.lock)
		proc.go#L4538: 		sched.ngsys.Add(1)
		proc.go#L4565: 		pp.goidcache = sched.goidgen.Add(_GoidCacheBatch)
		proc.go#L4657: 		lock(&sched.gFree.lock)
		proc.go#L4658: 		sched.gFree.noStack.pushAll(noStackQ)
		proc.go#L4659: 		sched.gFree.stack.pushAll(stackQ)
		proc.go#L4660: 		sched.gFree.n += inc
		proc.go#L4661: 		unlock(&sched.gFree.lock)
		proc.go#L4669: 	if pp.gFree.empty() && (!sched.gFree.stack.empty() || !sched.gFree.noStack.empty()) {
		proc.go#L4670: 		lock(&sched.gFree.lock)
		proc.go#L4674: 			gp := sched.gFree.stack.pop()
		proc.go#L4676: 				gp = sched.gFree.noStack.pop()
		proc.go#L4681: 			sched.gFree.n--
		proc.go#L4685: 		unlock(&sched.gFree.lock)
		proc.go#L4741: 	lock(&sched.gFree.lock)
		proc.go#L4742: 	sched.gFree.noStack.pushAll(noStackQ)
		proc.go#L4743: 	sched.gFree.stack.pushAll(stackQ)
		proc.go#L4744: 	sched.gFree.n += inc
		proc.go#L4745: 	unlock(&sched.gFree.lock)
		proc.go#L4860: 	n := int32(atomic.Loaduintptr(&allglen)) - sched.gFree.n - sched.ngsys.Load()
		proc.go#L4874: 	return int32(sched.mnext - sched.nmfreed)
		proc.go#L5039: 	lock(&sched.lock)
		proc.go#L5040: 	sched.profilehz = hz
		proc.go#L5041: 	unlock(&sched.lock)
		proc.go#L5093: 	assertLockHeld(&sched.lock)
		proc.go#L5184: 	assertLockHeld(&sched.lock)
		proc.go#L5197: 	if sched.procresizetime != 0 {
		proc.go#L5198: 		sched.totaltime += int64(old) * (now - sched.procresizetime)
		proc.go#L5200: 	sched.procresizetime = now
		proc.go#L5388: 	lock(&sched.lock)
		proc.go#L5389: 	sched.nmidlelocked += v
		proc.go#L5393: 	unlock(&sched.lock)
		proc.go#L5400: 	assertLockHeld(&sched.lock)
		proc.go#L5426: 	run := mcount() - sched.nmidle - sched.nmidlelocked - sched.nmsys
		proc.go#L5431: 		print("runtime: checkdead: nmidle=", sched.nmidle, " nmidlelocked=", sched.nmidlelocked, " mcount=", mcount(), " nmsys=", sched.nmsys, "\n")
		proc.go#L5432: 		unlock(&sched.lock)
		proc.go#L5450: 			unlock(&sched.lock)
		proc.go#L5455: 		unlock(&sched.lock) // unlock so that GODEBUG=scheddetail=1 doesn't hang
		proc.go#L5469: 				unlock(&sched.lock)
		proc.go#L5476: 				unlock(&sched.lock)
		proc.go#L5482: 			sched.nmspinning.Add(1)
		proc.go#L5497: 	unlock(&sched.lock) // unlock so that GODEBUG=scheddetail=1 doesn't hang
		proc.go#L5516: 	lock(&sched.lock)
		proc.go#L5517: 	sched.nmsys++
		proc.go#L5519: 	unlock(&sched.lock)
		proc.go#L5552: 		if debug.schedtrace <= 0 && (sched.gcwaiting.Load() || sched.npidle.Load() == gomaxprocs) {
		proc.go#L5553: 			lock(&sched.lock)
		proc.go#L5554: 			if sched.gcwaiting.Load() || sched.npidle.Load() == gomaxprocs {
		proc.go#L5558: 					sched.sysmonwait.Store(true)
		proc.go#L5559: 					unlock(&sched.lock)
		proc.go#L5570: 					syscallWake = notetsleep(&sched.sysmonnote, sleep)
		proc.go#L5574: 					lock(&sched.lock)
		proc.go#L5575: 					sched.sysmonwait.Store(false)
		proc.go#L5576: 					noteclear(&sched.sysmonnote)
		proc.go#L5583: 			unlock(&sched.lock)
		proc.go#L5586: 		lock(&sched.sysmonlock)
		proc.go#L5596: 		lastpoll := sched.lastpoll.Load()
		proc.go#L5598: 			sched.lastpoll.CompareAndSwap(lastpoll, now)
		proc.go#L5657: 		unlock(&sched.sysmonlock)
		proc.go#L5714: 			if runqempty(pp) && sched.nmspinning.Load()+sched.npidle.Load() > 0 && pd.syscallwhen+10*1000*1000 > now {
		proc.go#L5804: 	lock(&sched.lock)
		proc.go#L5805: 	print("SCHED ", (now-starttime)/1e6, "ms: gomaxprocs=", gomaxprocs, " idleprocs=", sched.npidle.Load(), " threads=", mcount(), " spinningthreads=", sched.nmspinning.Load(), " needspinning=", sched.needspinning.Load(), " idlethreads=", sched.nmidle, " runqueue=", sched.runqsize)
		proc.go#L5807: 		print(" gcwaiting=", sched.gcwaiting.Load(), " nmidlelocked=", sched.nmidlelocked, " stopwait=", sched.stopwait, " sysmonwait=", sched.sysmonwait.Load(), "\n")
		proc.go#L5839: 		unlock(&sched.lock)
		proc.go#L5881: 	unlock(&sched.lock)
		proc.go#L5890: 	lock(&sched.lock)
		proc.go#L5891: 	if sched.disable.user == !enable {
		proc.go#L5892: 		unlock(&sched.lock)
		proc.go#L5895: 	sched.disable.user = !enable
		proc.go#L5897: 		n := sched.disable.n
		proc.go#L5898: 		sched.disable.n = 0
		proc.go#L5899: 		globrunqputbatch(&sched.disable.runnable, n)
		proc.go#L5900: 		unlock(&sched.lock)
		proc.go#L5901: 		for ; n != 0 && sched.npidle.Load() != 0; n-- {
		proc.go#L5905: 		unlock(&sched.lock)
		proc.go#L5914: 	assertLockHeld(&sched.lock)
		proc.go#L5916: 	if sched.disable.user {
		proc.go#L5928: 	assertLockHeld(&sched.lock)
		proc.go#L5930: 	mp.schedlink = sched.midle
		proc.go#L5931: 	sched.midle.set(mp)
		proc.go#L5932: 	sched.nmidle++
		proc.go#L5942: 	assertLockHeld(&sched.lock)
		proc.go#L5944: 	mp := sched.midle.ptr()
		proc.go#L5946: 		sched.midle = mp.schedlink
		proc.go#L5947: 		sched.nmidle--
		proc.go#L5958: 	assertLockHeld(&sched.lock)
		proc.go#L5960: 	sched.runq.pushBack(gp)
		proc.go#L5961: 	sched.runqsize++
		proc.go#L5970: 	assertLockHeld(&sched.lock)
		proc.go#L5972: 	sched.runq.push(gp)
		proc.go#L5973: 	sched.runqsize++
		proc.go#L5983: 	assertLockHeld(&sched.lock)
		proc.go#L5985: 	sched.runq.pushBackAll(*batch)
		proc.go#L5986: 	sched.runqsize += n
		proc.go#L5993: 	assertLockHeld(&sched.lock)
		proc.go#L5995: 	if sched.runqsize == 0 {
		proc.go#L5999: 	n := sched.runqsize/gomaxprocs + 1
		proc.go#L6000: 	if n > sched.runqsize {
		proc.go#L6001: 		n = sched.runqsize
		proc.go#L6010: 	sched.runqsize -= n
		proc.go#L6012: 	gp := sched.runq.pop()
		proc.go#L6015: 		gp1 := sched.runq.pop()
		proc.go#L6097: 	assertLockHeld(&sched.lock)
		proc.go#L6107: 	pp.link = sched.pidle
		proc.go#L6108: 	sched.pidle.set(pp)
		proc.go#L6109: 	sched.npidle.Add(1)
		proc.go#L6124: 	assertLockHeld(&sched.lock)
		proc.go#L6126: 	pp := sched.pidle.ptr()
		proc.go#L6134: 		sched.pidle = pp.link
		proc.go#L6135: 		sched.npidle.Add(-1)
		proc.go#L6152: 	assertLockHeld(&sched.lock)
		proc.go#L6159: 		sched.needspinning.Store(1)
		proc.go#L6267: 	lock(&sched.lock)
		proc.go#L6269: 	unlock(&sched.lock)
		proc.go#L6301: 		lock(&sched.lock)
		proc.go#L6303: 		unlock(&sched.lock)
		proc.go#L6554: 	lock(&sched.lock)
		proc.go#L6555: 	out = int(sched.maxmcount)
		proc.go#L6557: 		sched.maxmcount = 0x7fffffff
		proc.go#L6559: 		sched.maxmcount = int32(in)
		proc.go#L6562: 	unlock(&sched.lock)
		proc.go#L6615: 	if i >= active_spin || ncpu <= 1 || gomaxprocs <= sched.npidle.Load()+sched.nmspinning.Load()+1 {
		runtime2.go#L1145: 	sched      schedt
		trace.go#L287: 	lock(&sched.sysmonlock)
		trace.go#L298: 		unlock(&sched.sysmonlock)
		trace.go#L401: 	unlock(&sched.sysmonlock)
		trace.go#L418: 	lock(&sched.sysmonlock)
		trace.go#L425: 		unlock(&sched.sysmonlock)
		trace.go#L480: 	unlock(&sched.sysmonlock)